module fork_join_any_process;

task automatic print_value(input int tid, input int value, input int delay);
    begin
        #(delay) $display("@%0t [%0d]: Value=%0d\tDelay=%0d", $time, tid, value, delay);
    end
endtask

initial begin
    // fork-join_any 会并行启动其内部的多个线程并等待其中任意一个线程完成后就会继续执行后续代码
    fork
        #1 print_value(1, 10, 7);
        #1 print_value(2, 8, 5);
        #1 print_value(3, 4, 2);
    join_any
    $display("@%g\tCame out of fork-join", $time);
    #20 $finish;
end

endmodule
